DavidBurns centralising save_screenshot to remote driver so all drivers, including phantomjs get it. git-svn-id: http://selenium.googlecode.com/svn/trunk/py@18406 07704840-8298-11de-bf8c-fd130f914ac9 
diff --git a/selenium/webdriver/chrome/webdriver.py b/selenium/webdriver/chrome/webdriver.py index ed3d728..fdb5b6a 100644 --- a/selenium/webdriver/chrome/webdriver.py +++ b/selenium/webdriver/chrome/webdriver.py 
@@ -80,19 +80,3 @@  pass  finally:  self.service.stop() - - def save_screenshot(self, filename): - """ - Gets the screenshot of the current window. Returns False if there is - any IOError, else returns True. Use full paths in your filename. - """ - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value'] - try: - f = open(filename, 'wb') - f.write(base64.decodestring(png)) - f.close() - except IOError: - return False - finally: - del png - return True 
diff --git a/selenium/webdriver/firefox/webdriver.py b/selenium/webdriver/firefox/webdriver.py index 624fd17..0dbe5db 100644 --- a/selenium/webdriver/firefox/webdriver.py +++ b/selenium/webdriver/firefox/webdriver.py 
@@ -82,19 +82,3 @@  @property  def firefox_profile(self):  return self.profile - - def save_screenshot(self, filename): - """ - Gets the screenshot of the current window. Returns False if there is - any IOError, else returns True. Use full paths in your filename. - """ - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value'] - try: - f = open(filename, 'wb') - f.write(base64.decodestring(png)) - f.close() - except IOError: - return False - finally: - del png - return True 
diff --git a/selenium/webdriver/ie/webdriver.py b/selenium/webdriver/ie/webdriver.py index 1f110bd..f5ffaff 100644 --- a/selenium/webdriver/ie/webdriver.py +++ b/selenium/webdriver/ie/webdriver.py 
@@ -54,19 +54,3 @@  def quit(self):   RemoteWebDriver.quit(self)   self.iedriver.stop()  -  - def save_screenshot(self, filename):  - """  - Gets the screenshot of the current window. Returns False if there is  - any IOError, else returns True. Use full paths in your filename.  - """  - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value']  - try:  - f = open(filename, 'wb')  - f.write(base64.decodestring(png))  - f.close()  - except IOError:  - return False  - finally:  - del png  - return True  
diff --git a/selenium/webdriver/opera/webdriver.py b/selenium/webdriver/opera/webdriver.py index 0360b24..af4883c 100644 --- a/selenium/webdriver/opera/webdriver.py +++ b/selenium/webdriver/opera/webdriver.py 
@@ -66,20 +66,3 @@  pass  finally:  self.service.stop() - - def save_screenshot(self, filename): - """ - Gets the screenshot of the current window. Returns False if there is - any IOError, else returns True. Use full paths in your filename. - """ - png = RemoteWebDriver.execute(self, Command.SCREENSHOT)['value'] - try: - f = open(filename, 'wb') - f.write(base64.decodestring(png)) - f.close() - except IOError: - return False - finally: - del png - return True - 
diff --git a/selenium/webdriver/remote/webdriver.py b/selenium/webdriver/remote/webdriver.py index 675ce7f..64faebf 100644 --- a/selenium/webdriver/remote/webdriver.py +++ b/selenium/webdriver/remote/webdriver.py 
@@ -803,3 +803,19 @@  def application_cache(self):  """ Returns a ApplicationCache Object to interact with the browser app cache"""  return ApplicationCache(self) + + def save_screenshot(self, filename): + """ + Gets the screenshot of the current window. Returns False if there is + any IOError, else returns True. Use full paths in your filename. + """ + png = self.execute(Command.SCREENSHOT)['value'] + try: + f = open(filename, 'wb') + f.write(base64.decodestring(png)) + f.close() + except IOError: + return False + finally: + del png + return True